home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD World 1998 January
/
CD World - Ocak 1998.iso
/
misc
/
dbase55
/
disk7
/
cbtsamp.pak
/
ORDERS.MNU
< prev
next >
Wrap
Text File
|
1996-01-05
|
9KB
|
280 lines
******************************************************************************
* PROGRAM: Orders.mnu
*
* WRITTEN BY: Borland Samples Group
*
* DATE: 12/93
*
* UPDATED: 6/95
*
* REVISION: $Revision: 1.58 $
*
* VERSION: Visual dBASE
*
* DESCRIPTION: This is a menu file used by Orders.wfm for
* performing simple tasks. It allows adding and deleting
* records, searching for a value in the order field of the
* current table viewed, and exiting the form in view.
*
* PARAMETERS: FormObj -- the form to which this menu will belong.
*
* CALLS: None
*
* USAGE: form.menuFile = "Orders.mnu"
*
*******************************************************************************
#include <Messdlg.h>
** END HEADER -- do not remove this line*
* Generated on 05/06/94
*
Parameter FormObj
NEW ORDERS(FormObj,"Root")
CLASS ORDERS(FormObj,Name) OF MENUBAR(FormObj,Name)
this.Text = ""
this.OnInit = {;set procedure to &_dbwinhome.samples\Sampproc.prg}
DEFINE MENU FILE OF THIS;
PROPERTY;
Text "&File"
DEFINE MENU EXIT OF THIS.FILE;
PROPERTY;
OnClick CLASS::EXIT_ONCLICK,;
Text "E&xit",;
StatusMessage "Leave Orders form."
DEFINE MENU ORDER OF THIS;
PROPERTY;
Text "&Order"
DEFINE MENU VIEWEDIT OF THIS.ORDER;
PROPERTY;
OnClick CLASS::VIEWEDITONCLICK,;
Text "&Edit",;
Shortcut "Ctrl-E",;
StatusMessage "Edit data."
DEFINE MENU SEPARATOR1 OF THIS.ORDER;
PROPERTY;
Separator .T.,;
Text ""
DEFINE MENU ADD OF THIS.ORDER;
PROPERTY;
OnClick CLASS::ADDONCLICK,;
Text "&Add",;
Enabled .T.,;
Shortcut "Ctrl-A",;
StatusMessage "Add a new order."
DEFINE MENU DELETE OF THIS.ORDER;
PROPERTY;
OnClick CLASS::DELETEONCLICK,;
Text "&Delete",;
Enabled .F.,;
Shortcut "Ctrl-D",;
StatusMessage "Delete the current order."
DEFINE MENU SEPARATOR2 OF THIS.ORDER;
PROPERTY;
Separator .T.,;
Text ""
DEFINE MENU SEARCH OF THIS.ORDER;
PROPERTY;
OnClick CLASS::SEARCHONCLICK,;
Text "&Search ...",;
Shortcut "Ctrl-S",;
StatusMessage "Search for an order."
DEFINE MENU SEPARATOR3 OF THIS.ORDER;
PROPERTY;
Separator .T.,;
Text ""
DEFINE MENU CURRENT_CUSTOMER OF THIS.ORDER;
PROPERTY;
OnClick CLASS::CURRENTCUSTOMERONCLICK,;
Text "Custo&mer ...",;
Shortcut "Ctrl-M",;
StatusMessage "View detailed information about the current customer."
DEFINE MENU REPORT OF THIS;
PROPERTY;
Text "&Report"
DEFINE MENU ORDERSREPORT OF THIS.REPORT;
PROPERTY;
OnClick {;create session ;set lock off ;report form orders},;
Text "&Invoices",;
Shortcut "Ctrl-I"
****************************************************************************
procedure SearchOnClick
* Bring up Search.wfm.
****************************************************************************
private searchForm, searchItem, saveRec, saveFilt
if reccount() = 0 && If table is empty, don't search
InformationMessage("This table is empty.", "Oops")
else
form.CheckChanged(.T.)
set procedure to &_dbwinhome.samples\Search.wfm additive
searchForm = new SearchForm()
searchForm.keyName = "Order Number" && Indicator of key expression
searchForm.formatting = "9999" && format specific to this key
searchForm.mdi = .F.
searchItem = searchForm.Readmodal()
if type("searchItem") = "O" .and. searchItem.id <> 0
&& If search wasn't cancelled
saveRec = recno() && save current record in case seek is
&& unsuccessful
if order() = "ORDER_NO" && When run from Orders.wfm
seek searchForm.value
else && When run from Custord.wfm
locate for order_no = searchForm.value
endif
if .not. found()
InformationMessage(FormatStr("Order %1 \n Was not Found.",;
searchForm.value),;
"Info")
if saveRec <= reccount() && If weren't at eof(), go to saveRec
go saveRec
else
go bottom
endif
endif
endif
searchForm.Release()
close procedure &_dbwinhome.samples\Search.wfm
endif
****************************************************************************
procedure DeleteOnClick
* Delete current record.
****************************************************************************
if ConfirmationMessage("Are you sure you want to delete this order?",;
"Confirm") = YES
delete && DELETED is ON, so deleted records are still there until
&& a PACK is executed
commit()
form.changesMade = .F.
begintrans()
if type("form.nextOrderButton") <> "U" && (orders.wfm)
form.prevOrderButton.OnClick() && Move to prev record
else
form.vcrPrevButton.OnClick() && (custord.wfm)
endif
endif
****************************************************************************
procedure AddOnClick
* Add new record.
****************************************************************************
private addForm, newOrder, saleDateField, orderNoField, custNoField, custNo,;
inEditMode, integrityInEffect
form.CheckChanged(.T.)
if ConfirmationMessage("Are you sure you want to add an order?",;
"Confirmation") = YES
orderNoField = field(1) && Customer_n field
custNoField = field(2) && Order_no field
saleDateField = field(3) && Sale_date field
if type("form.parentCustomerForm") <> "U"
custNo = form.customer_n
else
custNo = customer->customer_n && Save customer no
endif
* If running from Custord.wfm, use form.curPage.inEditMode,
* otherwise, if from customer.wfm/orders.wfm, use form.inEditMode
if type("form.curPage") <> "U"
inEditMode = form.curPage.inEditMode
integrityInEffect = .T. && Table integrity rules are used
else
inEditMode = form.inEditMode
integrityInEffect = .F.
endif
if .not. inEditMode
form.ViewEdit() && Make sure record is editable
else if type("form.childBrowse") <> "U" && If calling from Customer/Orders
form.childBrowse.setFocus()
endif
form.changesMade = .T.
form.previousRecord = recno()
append blank
orderNoField = field(1)
newOrder = str(val(form.maxOrder) + 1,4)
replace &orderNoField with newOrder && Assign new order number
if .not. integrityInEffect
replace &custNoField with custNo && Integrity causes this automatically
endif
replace &saleDateField with date() && Default sale date is today
form.maxOrder = newOrder
refresh
select lineitem
append blank
refresh
select orders
endif
****************************************************************************
procedure CurrentCustomerOnclick
****************************************************************************
form.CheckChanged(.T.)
if type("form.parentCustomerForm") = "U"
if type ("form.childCustomerForm") = "U"
form.StartCustomerForm()
form.CallShowCustomer(orders->customer_n)
else
form.CallShowCustomer(orders->customer_n)
form.childCustomerForm.open()
form.childCustomerForm.windowState = 0
form.childCustomerForm.setFocus()
endif
else
form.parentCustomerForm.setFocus()
endif
***************************************************************************
procedure ViewEditOnClick
****************************************************************************
form.ViewEdit()
****************************************************************************
procedure Exit_OnClick
****************************************************************************
if type ("form.parentCustomerForm") <> "U"
* Release parent form, which releases this child
form.parentCustomerForm.Release()
else
form.Release()
endif
ENDCLASS